1. Une question posée à des médecins
Boston, 1978 : soixante médecins et étudiants en médecine face à un calcul.
En 1978, trois médecins, Ward Casscells, Arno Schoenberger et Thomas Graboys, posent la même question à soixante personnes rencontrées dans les couloirs d'hôpitaux universitaires de Harvard : des étudiants en médecine, des internes et des médecins confirmés.
La question
Une maladie touche une personne sur 1 000. Un test de dépistage la détecte chez tous les malades, mais il est aussi positif chez 5 % des personnes saines : ce sont les « faux positifs ». Une personne prise au hasard a un test positif. Quelle est la probabilité qu'elle soit réellement malade ?
En 1978, la réponse la plus fréquente a été « \(95\,\%\) », donnée par 27 personnes sur 60. Seules 11 personnes sur 60 ont trouvé la bonne réponse. Les écrans suivants vont la calculer avec les outils du chapitre.
2. L'arbre du dépistage
Deux évènements, quatre chemins.
On choisit une personne au hasard et l'on note \(M\) : « la personne est malade » et \(T\) : « le test est positif ».
L'énoncé donne \(p(M) = 0{,}001\), \(p_M(T) = 1\) (le test détecte tous les malades) et \(p_{\overline{M}}(T) = 0{,}05\) (les faux positifs). Les autres branches s'en déduisent : sur les branches issues d'un même point, la somme vaut \(1\).
3. Malade, sachant que le test est positif
La question de 1978, enfin calculée.
Votre pari de l'écran 1
Vous n'avez pas parié : revenez à l'écran 1 pour le faire, sans calculer.
On cherche la probabilité \(p_T(M)\) qu'une personne soit malade sachant que son test est positif. Ce n'est pas \(p_M(T) = 1\), la probabilité que le test soit positif sachant que la personne est malade : \(p_M(T)\) porte sur les malades, alors que \(p_T(M)\) porte sur les personnes au test positif.
\[p_T(M) = \frac{p(M\cap T)}{p(T)} = \frac{p(M)\times p_M(T)}{p(T)} = \frac{0{,}001\times 1}{0{,}05095}.\]D'où vient la réponse « 95 % » ?
Beaucoup de personnes interrogées en 1978 ont raisonné ainsi : « le test ne se trompe que dans \(5\,\%\) des cas, donc un test positif est juste dans \(95\,\%\) des cas ». Mais ces \(5\,\%\) sont la probabilité \(p_{\overline{M}}(T)\) qu'une personne saine ait un test positif. Ils ne disent pas quelle part des tests positifs concerne des malades : c'est \(p_T(M)\), et il faut la formule des probabilités totales pour la calculer.
4. Cent mille personnes
Les probabilités, traduites en effectifs.
Pour comprendre ce résultat surprenant, imaginons que l'on teste 100 000 personnes. Dévoilez le tableau ligne à ligne.
| Groupe | Effectif |
|---|---|
| Personnes testées | 100 000 |
| Malades (une sur 1 000) | 100 |
| Malades au test positif (tous) | 100 |
| Personnes saines | 99 900 |
| Saines au test positif (5 %) | 4 995 |
| Total des tests positifs | 5 095 |
Les malades sont rares, mais les personnes saines sont si nombreuses que leurs \(5\,\%\) de faux positifs sont bien plus nombreux que les vrais positifs.
Un malade sur 51 tests positifs
Il y a \(5\,095\) tests positifs, dont \(100\) seulement concernent un malade. Or \(5\,095 \div 100 \approx 51\) : en moyenne, sur 51 tests positifs, un seul concerne un malade ; les 50 autres sont des faux positifs. C'est ce que montre la figure : un carré bleu pour 51 carrés.
5. Tout dépend de la prévalence
Et si la maladie était moins rare ?
La prévalence est la proportion de malades dans la population, ici \(p(M)\). Faites-la varier, ainsi que la probabilité \(p_{\overline{M}}(T)\) d'un test positif chez une personne saine, et observez la probabilité \(p_T(M)\) qu'une personne soit malade sachant que son test est positif. La barre représente l'ensemble des tests positifs.
\(p(T)\) = · \(p_T(M)\) =
6. Refaire le test : la console Python
Ce qui serait long à la main, la machine le fait en un instant.
Deux idées
Pourquoi refaire un test ? Après un premier test positif, la probabilité d'être malade n'est que d'environ \(2\,\%\) : c'est trop peu pour conclure. Mais avant le test, cette probabilité était \(p(M) = 0{,}001\) ; après un test positif, elle vaut \(p_T(M) \approx 0{,}02\), soit environ vingt fois plus, car \(0{,}02 = 20 \times 0{,}001\). Le test positif a donc rendu la maladie nettement plus probable, sans la rendre certaine : le médecin prescrit un second test, et seulement aux personnes dont le premier test est positif.
Pourquoi \(p(M)\) change-t-elle ? La personne qui passe le second test n'est plus « une personne prise au hasard dans la population » : c'est une personne dont le premier test est positif. Pour elle, la probabilité d'être malade avant le second test n'est plus \(0{,}001\), mais la probabilité \(p_T(M)\) calculée à l'écran 3, environ \(0{,}0196\). Dans l'arbre du second test, c'est donc ce nombre qui remplace \(p(M)\).
On admet que le second test se comporte comme le premier : il détecte tous les malades, \(p_M(T) = 1\), et donne un résultat positif chez \(5\,\%\) des personnes saines, \(p_{\overline{M}}(T) = 0{,}05\). Seul le premier niveau de l'arbre change.
Il suffit alors de refaire le calcul de l'écran 3 sur ce nouvel arbre, puis de
recommencer pour un troisième test, et ainsi de suite. Le programme ci-dessous le fait. La
fonction malade_sachant_positif reçoit \(p(M)\) et \(p_{\overline{M}}(T)\) ;
elle calcule \(p(T)\) par la formule des probabilités totales, puis
\(p_T(M) = \dfrac{p(M\cap T)}{p(T)}\), exactement comme aux écrans 2 et 3.
La ligne pM = malade_sachant_positif(pM, pMbarre_T) traduit la deuxième
idée : la probabilité \(p_T(M)\) obtenue après un test devient le \(p(M)\) du test suivant.
Exécutez le programme : la première ligne affichée doit redonner les \(2\,\%\) de
l'écran 3 — c'est la preuve que le programme calcule juste. Les lignes suivantes vont plus
loin.
Si la console ne se charge pas — réseau du lycée, tablette capricieuse —, le même programme s'exécute sur https://sciency.co/console.
Lire les résultats
| Tests positifs consécutifs | Probabilité d'être malade |
|---|---|
| 1 | 2 % |
| 2 | 28,6 % |
| 3 | 88,9 % |
| 4 | 99,4 % |
Avec \(5\,\%\) de faux positifs, il faut trois tests positifs de suite pour que la probabilité d'être malade dépasse \(80\,\%\). Python écrit les nombres décimaux avec un point : \(28.6\) se lit \(28{,}6\).
7. Ce qu'il faut retenir
Le fil, d'un bout à l'autre.
Le raisonnement
L'arbre donne \(p(M)\), \(p_M(T)\) et \(p_{\overline{M}}(T)\). La formule des probabilités totales donne la probabilité \(p(T)\) qu'une personne ait un test positif, puis la probabilité \(p_T(M)\) qu'une personne soit malade sachant que son test est positif :
\[p_T(M) = \frac{p(M\cap T)}{p(T)} = \frac{p(M)\times p_M(T)}{p(M)\times p_M(T) + p(\overline{M})\times p_{\overline{M}}(T)}.\]Cette égalité porte un nom : la formule de Bayes, du nom du pasteur et mathématicien anglais Thomas Bayes, dont le texte fut publié en 1763, deux ans après sa mort. Elle n'est pas au programme : elle n'est que l'enchaînement de la formule des probabilités totales et de la définition d'une probabilité conditionnelle.
Il ne faut jamais confondre \(p_M(T)\), qui porte sur les malades, et \(p_T(M)\), qui porte sur les personnes au test positif. Quand la maladie est rare, \(p_T(M)\) peut être très petite, même avec un bon test : avant de conclure, on refait le test, et la probabilité \(p_T(M)\) obtenue devient le point de départ du test suivant.
Votre parcours
Vous avez répondu juste à 0 question(s) sur 5.